package cn.iocoder.yudao.module.product.selection.pojo.po;

import cn.iocoder.yudao.framework.business.basic.pojo.po.BaseEntity;
import cn.iocoder.yudao.framework.mybatis.core.type.StringListTypeHandler;
import cn.iocoder.yudao.module.api.supply.enums.SupplyDataSourceEnum;
import cn.iocoder.yudao.module.api.supply.enums.SupplyOperationEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.List;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 *  供应链选品日志
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2025/03/11
 */
@TableName(value = "product_supply_sync_log", autoResultMap = true)
@Data
public class ProductSupplySyncLog extends BaseEntity {

    /**
     * 来源: 0-自有、1-甄新汇选
     *
     * @see SupplyDataSourceEnum
     */
    private Integer source;

    /**
     * 操作类型：1-添加、2-修改、3-删除
     *
     * @see SupplyOperationEnum
     */
    private Integer operation;

    /**
     * 原始产品编号集合（逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<Long> originSpuIds;

    /**
     * 忽略产品编号集合（逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<Long> ignoreSpuIds;

    /**
     * 成功产品编号集合（逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<Long> successSpuIds;

    /**
     * 失败产品编号集合（逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<Long> failureSpuIds;

}
